Moving images are a plurality of static images which are temporally sequential. Since the amount of information of the moving image data is generally larger than that of the static image data and the like, data compression is required for the transmission of the moving image data. The moving image data can be compressed by a moving image encoding process for example. Here, the term “moving image encoding process” denotes an encoding process for converting the data stream of the moving image data into another data stream. The moving image encoding process can compress moving image data the amount of which is large. Thus, the moving image encoding techniques including the moving image encoding process are employed when moving images are transmitted or recorded in the digital terrestrial broadcasting, Blu-Ray®, digital video cameras and the like. H.264/AVC is one of the moving image encoding schemes. In addition, HEVC, which is a next-generation moving image encoding technique achieving more than or equal to twice as much as the encoding efficiency of H.264/AVC, will be standardized in the future.
FIG. 1 is a diagram illustrating an example of a configuration of a moving image encoding apparatus employing a common moving image encoding scheme including H.264/AVC and HEVC. One general characteristic of moving images is that the correlations in a frame or between frames are strong. The scheme which uses the correlations in a frame to generate prediction pixels for the target pixels for encoding is referred to as intra prediction scheme. The scheme which uses the correlations between frames is referred to as inter prediction scheme. An encoder performs an orthogonal transformation, a quantization process and a variable length encoding to the prediction errors of the intra prediction scheme or the inter prediction scheme to generate bit streams. The orthogonal transformation is a spatial frequency conversion of images and resolves the prediction errors into amplitude components with respect to each frequency. The quantization process is a process for dividing by a quantization step size the coefficients obtained from the orthogonal transformation and rounding off the results of the division. The orthogonal transformation and the quantization process reduce a large amount of information.
FIG. 2 is a diagram illustrating an example of a configuration of a moving image encoding apparatus employing a common moving image encoding scheme. A decoder reconstructs (decodes) images by inverse procedures to those performed by the encoder.
An encoder includes a decoder. The decoder included in the encoder is referred to as local decoder. The local decoder uses an encoded image as a predicted value for the following image to be encoded to encode the following image.
<Intra Prediction>
Explanations are given to the intra prediction here. The intra prediction is a prediction method of dividing the pixels in one frame into a plurality of blocks and predicting the pixels in the peripheral blocks from the pixels in one block by using the characteristics that the pixel values (color and luminance and the like) of the pixels in the neighboring blocks are similar in order to reduce the amount of data. For example, in the H.264 standard (decoder), the pixels in the peripheral blocks which have been decoded among the peripheral blocks as target blocks for decoding are referenced and then prediction images are generated.
In the intra prediction, the pixels in one frame are divided into a plurality of small blocks and the decoding processes are performed on the basis of a block. In the intra prediction, the pixels in a target block for encoding are predicted from the pixels (pixel values) in the peripheral blocks of the target block for encoding which have been encoded, the predicted residues are encoded, and then the amount of information may be reduced.
In the intra prediction, the encoder generates and references decoded images which are the same as decoded images generated by the decoder in order to match the prediction images generated by the encoder with the prediction images generated by the decoder. Therefore, a local decoder including an inverse quantization and inverse orthogonal transformation unit is provided in the encoder. The encoder uses decoded images generated in the encoder as reference images to generate prediction images.
<Intra Prediction Mode Determination>
Encoder performs an intra prediction mode determination for fulfilling the potential of the intra prediction performance. The intra prediction mode determination unit of the encoder selects one intra prediction mode among a plurality of intra prediction modes (for example, prediction directions). In one form of the selection for example, the intra prediction mode determination unit calculates the SAD (Sum of Absolute Difference: the sum of absolute values of the prediction errors between input images and prediction images) in each intra prediction mode and uses the calculation results as encoding costs to select one mode in which the encoding cost is minimized.
FIG. 3 is a diagram illustrating an example of a prediction direction in the intra prediction for HEVC. The intra prediction for HEVC employs thirty five types of prediction directions. The prediction direction is one example of the intra prediction mode. The intra prediction mode is also referred to as prediction mode.
When the intra prediction mode determination is performed, reference images for mode determination are generated from reference pixels in the peripheral blocks. The peripheral blocks are blocks adjacent to the target block for encoding. The reference pixels are pixels which are included in the peripheral blocks and adjacent to the target block for encoding.
FIG. 4 is a diagram illustrating an example of the location in which the peripheral blocks of a target block for encoding in HEVC are arranged. As illustrated in FIG. 4, in HEVC, blocks A, B, C, D and E are referenced for example when the target block for encoding is encoded. And when a prediction image used for encoding is generated, decoded pixels in the peripheral blocks (reference blocks) are referenced. Therefore, in general, the accuracy of the intra prediction mode determination is improved because the decoded pixels are also referenced in the intra prediction mode determination.